impl Solution {
    pub fn find_min_fibonacci_numbers( mut k: i32) -> i32 {
        let mut i=1;
        let mut febo=vec![1,1];
        loop {
            if febo[i]>k{
                break;
            }
            febo.push(febo[i]+febo[i-1]);
            i+=1;
        };
        let mut ans=0;
        while k>0{
            match febo.binary_search(&k){
                Ok(_)=>{
                    ans+=1;
                    return  ans;
                },
                Err(ind)=>{
                    k-=febo[ind-1];
                    ans+=1;
                }
            }
        }
        ans
      
        

    }
}